﻿using System.Xml.Serialization;

namespace Toybox.NicoSharp.Live
{
	/// <summary>
	/// 男女モード
	/// </summary>
	public enum DanjoMode
	{
		/// <summary>
		/// 無効
		/// </summary>
		[XmlEnum(Name = "0")]
		Disable,

		/// <summary>
		/// 両方
		/// </summary>
		[XmlEnum(Name = "1")]
		Both,

		/// <summary>
		/// 男性のみ
		/// </summary>
		[XmlEnum(Name = "2")]
		Male,

		/// <summary>
		/// 女性のみ
		/// </summary>
		[XmlEnum(Name = "3")]
		Female,
	}

	/// <summary>
	/// コンテンツ種類
	/// </summary>
	public enum ContentType
	{
		/// <summary>
		/// メイン
		/// </summary>
		main,

		/// <summary>
		/// サブ
		/// </summary>
		sub,
	}

	/// <summary>
	/// 性別
	/// </summary>
	public enum Sex
	{
		/// <summary>
		/// 男性
		/// </summary>
		[XmlEnum(Name = "1")]
		Male,

		/// <summary>
		/// 女性
		/// </summary>
		[XmlEnum(Name = "2")]
		Female,
	}

	/// <summary>
	/// 所在地
	/// </summary>
	public enum Prefecture : byte
	{
		/// <summary>
		/// 不明
		/// </summary>
		Unknown = 0x00,

		#region 国内

		/// <summary>
		/// 北海道
		/// </summary>
		[XmlEnum(Name = "1")]
		Hokkaido,

		/// <summary>
		/// 青森
		/// </summary>
		[XmlEnum(Name = "2")]
		Aomori,

		/// <summary>
		/// 岩手
		/// </summary>
		[XmlEnum(Name = "3")]
		Iwate,

		/// <summary>
		/// 宮城
		/// </summary>
		[XmlEnum(Name = "4")]
		Miyagi,

		/// <summary>
		/// 秋田
		/// </summary>
		[XmlEnum(Name = "5")]
		Akita,

		/// <summary>
		/// 山形
		/// </summary>
		[XmlEnum(Name = "6")]
		Yamagata,

		/// <summary>
		/// 福島
		/// </summary>
		[XmlEnum(Name = "7")]
		Fukushima,

		/// <summary>
		/// 茨城
		/// </summary>
		[XmlEnum(Name = "8")]
		Ibaraki,

		/// <summary>
		/// 栃木
		/// </summary>
		[XmlEnum(Name = "9")]
		Tochigi,

		/// <summary>
		/// 群馬
		/// </summary>
		[XmlEnum(Name = "10")]
		Gunma,

		/// <summary>
		/// 埼玉
		/// </summary>
		[XmlEnum(Name = "11")]
		Saitama,

		/// <summary>
		/// 千葉
		/// </summary>
		[XmlEnum(Name = "12")]
		Chiba,

		/// <summary>
		/// 東京
		/// </summary>
		[XmlEnum(Name = "13")]
		Tokyo,

		/// <summary>
		/// 神奈川
		/// </summary>
		[XmlEnum(Name = "14")]
		Kanagawa,

		/// <summary>
		/// 新潟
		/// </summary>
		[XmlEnum(Name = "15")]
		Niigata,

		/// <summary>
		/// 富山
		/// </summary>
		[XmlEnum(Name = "16")]
		Toyama = 0x10,

		/// <summary>
		/// 石川
		/// </summary>
		[XmlEnum(Name = "17")]
		Ishikawa,

		/// <summary>
		/// 福井
		/// </summary>
		[XmlEnum(Name = "18")]
		Fukui,

		/// <summary>
		/// 山梨
		/// </summary>
		[XmlEnum(Name = "19")]
		Yamanashi,

		/// <summary>
		/// 長野
		/// </summary>
		[XmlEnum(Name = "20")]
		Nagano,

		/// <summary>
		/// 岐阜
		/// </summary>
		[XmlEnum(Name = "21")]
		Gifu,

		/// <summary>
		/// 静岡
		/// </summary>
		[XmlEnum(Name = "22")]
		Shizuoka,

		/// <summary>
		/// 愛知
		/// </summary>
		[XmlEnum(Name = "23")]
		Aichi,

		/// <summary>
		/// 三重
		/// </summary>
		[XmlEnum(Name = "24")]
		Mie,

		/// <summary>
		/// 滋賀
		/// </summary>
		[XmlEnum(Name = "25")]
		Shiga,

		/// <summary>
		/// 京都
		/// </summary>
		[XmlEnum(Name = "26")]
		Kyoto,

		/// <summary>
		/// 大阪
		/// </summary>
		[XmlEnum(Name = "27")]
		Osaka,

		/// <summary>
		/// 兵庫
		/// </summary>
		[XmlEnum(Name = "28")]
		Hyougo,

		/// <summary>
		/// 奈良
		/// </summary>
		[XmlEnum(Name = "29")]
		Nara,

		/// <summary>
		/// 和歌山
		/// </summary>
		[XmlEnum(Name = "30")]
		Wakayama,

		/// <summary>
		/// 鳥取
		/// </summary>
		[XmlEnum(Name = "31")]
		Tottori,

		/// <summary>
		/// 島根
		/// </summary>
		[XmlEnum(Name = "32")]
		Shimane = 0x20,

		/// <summary>
		/// 岡山
		/// </summary>
		[XmlEnum(Name = "33")]
		Okayama,

		/// <summary>
		/// 広島
		/// </summary>
		[XmlEnum(Name = "34")]
		Hiroshima,

		/// <summary>
		/// 山口
		/// </summary>
		[XmlEnum(Name = "35")]
		Yamaguchi,

		/// <summary>
		/// 徳島
		/// </summary>
		[XmlEnum(Name = "36")]
		Tokushima,

		/// <summary>
		/// 香川
		/// </summary>
		[XmlEnum(Name = "37")]
		Kagawa,

		/// <summary>
		/// 愛媛
		/// </summary>
		[XmlEnum(Name = "38")]
		Ehime,

		/// <summary>
		/// 高知
		/// </summary>
		[XmlEnum(Name = "39")]
		Kouchi,

		/// <summary>
		/// 福岡
		/// </summary>
		[XmlEnum(Name = "40")]
		Fukuoka,

		/// <summary>
		/// 佐賀
		/// </summary>
		[XmlEnum(Name = "41")]
		Saga,

		/// <summary>
		/// 長崎
		/// </summary>
		[XmlEnum(Name = "42")]
		Nagasaki,

		/// <summary>
		/// 熊本
		/// </summary>
		[XmlEnum(Name = "43")]
		Kumamoto,

		/// <summary>
		/// 大分
		/// </summary>
		[XmlEnum(Name = "44")]
		Oita,

		/// <summary>
		/// 宮崎
		/// </summary>
		[XmlEnum(Name = "45")]
		Miyazaki,

		/// <summary>
		/// 鹿児島
		/// </summary>
		[XmlEnum(Name = "46")]
		Kagoshima,

		/// <summary>
		/// 沖縄
		/// </summary>
		[XmlEnum(Name = "47")]
		Okinawa,

		#endregion

		#region 国外

		/// <summary>
		/// その他 海外
		/// </summary>
		[XmlEnum(Name = "48")]
		OtherOverseas = 0x30,

		/// <summary>
		/// 台湾
		/// </summary>
		[XmlEnum(Name = "49")]
		Taiwan,

		/// <summary>
		/// 香港
		/// </summary>
		[XmlEnum(Name = "50")]
		HKG,

		/// <summary>
		/// シンガポール
		/// </summary>
		[XmlEnum(Name = "51")]
		Singapore,

		/// <summary>
		/// マレーシア
		/// </summary>
		[XmlEnum(Name = "52")]
		Malaysia,

		/// <summary>
		/// ドイツ
		/// </summary>
		[XmlEnum(Name = "53")]
		Germany,

		/// <summary>
		/// オーストリア
		/// </summary>
		[XmlEnum(Name = "54")]
		Austria,

		/// <summary>
		/// スイス
		/// </summary>
		[XmlEnum(Name = "55")]
		Swiss,

		/// <summary>
		/// ベルギー
		/// </summary>
		[XmlEnum(Name = "56")]
		Belgium,

		/// <summary>
		/// ルクセンブルグ
		/// </summary>
		[XmlEnum(Name = "57")]
		Luxembourg,

		/// <summary>
		/// スペイン
		/// </summary>
		[XmlEnum(Name = "58")]
		Spain,

		/// <summary>
		/// メキシコ
		/// </summary>
		[XmlEnum(Name = "59")]
		Mexico,

		/// <summary>
		/// アルゼンチン
		/// </summary>
		[XmlEnum(Name = "60")]
		Argentina,

		/// <summary>
		/// ペルー
		/// </summary>
		[XmlEnum(Name = "61")]
		Peru,

		/// <summary>
		/// パラグアイ
		/// </summary>
		[XmlEnum(Name = "62")]
		Paraguay,

		/// <summary>
		/// チリ
		/// </summary>
		[XmlEnum(Name = "63")]
		Chile,

		/// <summary>
		/// アメリカ
		/// </summary>
		[XmlEnum(Name = "64")]
		USA = 0x40,

		/// <summary>
		/// カナダ
		/// </summary>
		[XmlEnum(Name = "65")]
		Canada,

		/// <summary>
		/// イギリス
		/// </summary>
		[XmlEnum(Name = "66")]
		UK,

		/// <summary>
		/// フランス
		/// </summary>
		[XmlEnum(Name = "67")]
		France,

		/// <summary>
		/// イタリア
		/// </summary>
		[XmlEnum(Name = "68")]
		Italy,

		/// <summary>
		/// ロシア
		/// </summary>
		[XmlEnum(Name = "69")]
		Russia,

		/// <summary>
		/// オランダ
		/// </summary>
		[XmlEnum(Name = "70")]
		Holland,

		/// <summary>
		/// ポーランド
		/// </summary>
		[XmlEnum(Name = "71")]
		Poland,

		/// <summary>
		/// スウェーデン
		/// </summary>
		[XmlEnum(Name = "72")]
		Sweden,

		/// <summary>
		/// ノルウェー
		/// </summary>
		[XmlEnum(Name = "73")]
		Norway,

		/// <summary>
		/// フィンランド
		/// </summary>
		[XmlEnum(Name = "74")]
		Finland,

		/// <summary>
		/// デンマーク
		/// </summary>
		[XmlEnum(Name = "75")]
		Denmark,

		/// <summary>
		/// 中国
		/// </summary>
		[XmlEnum(Name = "76")]
		PRofChina,

		/// <summary>
		/// 韓国
		/// </summary>
		[XmlEnum(Name = "77")]
		Korea,

		/// <summary>
		/// オーストラリア
		/// </summary>
		[XmlEnum(Name = "78")]
		Australia,

		/// <summary>
		/// ニュージーランド
		/// </summary>
		[XmlEnum(Name = "79")]
		NewZealand,

		/// <summary>
		/// インド
		/// </summary>
		[XmlEnum(Name = "80")]
		India = 0x50,

		/// <summary>
		/// イスラエル
		/// </summary>
		[XmlEnum(Name = "81")]
		Israel,

		/// <summary>
		/// ブラジル
		/// </summary>
		[XmlEnum(Name = "82")]
		Brazil,

		/// <summary>
		/// マカオ
		/// </summary>
		[XmlEnum(Name = "83")]
		Macau,

		/// <summary>
		/// インドネシア
		/// </summary>
		[XmlEnum(Name = "84")]
		Indonesia,

		/// <summary>
		/// タイ
		/// </summary>
		[XmlEnum(Name = "85")]
		Thailand,

		/// <summary>
		/// ベトナム
		/// </summary>
		[XmlEnum(Name = "86")]
		Vietnam,

		#endregion
	}

	/// <summary>
	/// 接続情報
	/// </summary>
	public enum ConnectionState
	{
		/// <summary>
		/// 切断
		/// </summary>
		Disconnected,

		/// <summary>
		/// 接続中
		/// </summary>
		Connecting,

		/// <summary>
		/// 接続完了
		/// </summary>
		Connected,
	}
}